草庐IT

c++ - 单例和多线程

全部标签

javascript - 如何从我的 reportError 函数中获取 SpiderMonkey (JSAPI) 中的完整回溯?

我正在使用spidermonkey在我的应用程序中嵌入javascript,并且我有一个名为reportError的函数,它接收JSErrorReport.捕获错误的当前行似乎很简单,但是是否有可能让整个调用路径显示完整的回溯? 最佳答案 通过JSErrorReport是做不到的。相反,您必须查看调试器APIS。找到头文件jsdbgapi.h。它有一个钩子(Hook)函数列表,如果您在启用调试的情况下运行(JS_SetDebugMode(cx,true)),将调用这些函数。在这些钩子(Hook)函数中,您可以简单地调用js_Dump

javascript - 使用 IFRAME 是否可以实现 javascript 多线程

我目前正在考虑使用IFRAME来实现一个非常简单的多线程引擎。然而,我的初步结果表明,在线程中运行比在单个线程中运行要慢。我的测试是:单线程varstart=newDate().getTime();for(vari=0;i多线程varstart=newDate().getTime();//Inthread1for(vari=0;i可以看出,我只是在IFRAME之间分配工作负载(请注意,上面的代码只是为了更好地描述我正在做的事情,它不是工作代码)。所以我在想即使使用FRAMEsFireFox仍然只有一个JS引擎?这个假设是否正确?(使我的研究变得愚蠢),其他浏览器是否不同?快速谷歌一下,

javascript - 从多个 javascript 线程访问 IndexedDB

概述:我试图通过从网页和网络worker访问IndexedDB来避免竞争条件。设置:在用户使用网站时将项目保存到本地IndexedDB的网页。每当用户将数据保存到本地数据库时,记录都会被标记为“未发送”。Web-worker后台线程从IndexedDB中提取数据,将其发送到服务器,一旦服务器接收到数据,就将IndexedDB中的数据标记为“已发送”。问题:由于对IndexedDB的访问是异步的,我不能保证用户不会在web-worker将记录发送到服务器的同时更新记录。时间线如下图:Web-worker从数据库中获取数据并发送给服务器在传输过程中,用户更新将其保存到数据库中的数据。网络w

Delphi TWebBrowser 中的 Javascript,关闭线程

我正尝试在Delphi中构建一个允许用户使用Googlemap的系统。一切正常,但我注意到每次创建新的TWebBrowser对象并加载处理Googlemap的javascript时,都会生成许多新线程。我的问题是,即使网络浏览器被销毁(并且肯定被销毁),创建的线程仍然存在。我正在设计这个程序,使其运行时间长,并且谷歌地图的打开和关闭发生多次,因此,一段时间后,生成了如此多的线程并且没有终止,以至于程序速度急剧下降。有什么方法可以自己销毁这些线程,还是我做错了什么导致线程持续存在?我的程序基于以下代码:constHTMLStr:AnsiString=''+''+''+''+''+''+'

javascript - Aurelia:单例 View 中的静态自定义元素

我有一个带有单例View模型的Aurelia应用程序。该View类似于文件浏览器,左侧是TreeView(自定义元素),右侧是ListView。View模型activationStrategy是invokeLifecycle,ListView根据路由参数填充。展开节点时,TreeView会填充AJAX调用。树节点也是自定义元素。TreeView是完全自定义的,不使用任何第3方插件。当用户导航到另一条路线,然后再次返回同一路线时,View模型会保留,因为它是单例。但是,TreeView不是因为自定义元素不支持作为单例。我理解不支持单例自定义元素的原因。但是,我想知道在导航回同一路线时以某

Javascript/网络浏览器线程模型

如果我正在运行javascript代码,例如在计时器上执行某些操作,并且此代码嵌入在Web浏览器的选项卡1和选项卡2中的网页中,那么客户端代码可以同时运行吗?还是javascript客户端代码总是只在单个浏览器线程中运行?或者,如果有一个包含父框架和子框架的框架集,那么在这种情况下javascript代码可以并发运行吗?是否有标准指定模型或是否依赖于浏览器?我的主要目标环境是IE9,所以很想知道那里发生了什么。编辑我不是在寻找线程支持或如何在javascript中进行线程处理。我个人认为没有必要。这也让生活变得更加复杂。我只想知道我是否需要担心它,如果需要,在哪些浏览器上。

JavaScript 'class' 和单例问题

我有一个使用另一个对象(不是单例)的单例对象,需要一些信息给服务器:varsingleton=(function(){/*_privateproperties*/varmyRequestManager=newRequestManager(params,//callbacksfunction(){previewRender(response);},function(){previewError();});/*_publicmethods*/return{/*makearequest*/previewRequest:function(request){myRequestManager.re

javascript - Web Workers - 他们创建实际的线程吗?

我一直认为webworkers创建单独的线程,但今天我在w3c网站上看到了规范。以下是关于网络worker的引文:Thisallowsforthread-likeoperationwithmessage-passingasthecoordinationmechanism.问题是-如果它是类线程,而不是实际的线程,那么使用该技术的优势(性能方面)是什么?任何帮助将不胜感激! 最佳答案 是的,网络worker创建实际的线程(或进程,规范对此很灵活)。根据WebWorkers规范,创建工作人员时的第一步是:Createaseparatep

javascript - 如何使用 js-ctypes Firefox 扩展调用 native C 代码?

我正在尝试构建一个需要调用nativeC代码的Firefox扩展。我的C程序代码是:#includeintadd(inta,intb){return(a+b);}我的JavaScript代码是:var{Cu}=require('chrome');varself=require('sdk/self');Cu.import("resource://gre/modules/ctypes.jsm");varlib;varputs;lib=ctypes.open('G:\\Shankar\\Project\\Maidsafe\\Firefox\\addon-sdk-1.17\\jsctype_s

javascript - 多线程JavaScript怎么来的?

是否有在JavaScript中创建多线程应用程序的想法(库或方法)? 最佳答案 最接近的是网络worker(仅在FF3.5/HTML5中)。检查一下-http://www.whatwg.org/specs/web-workers/current-work/ 关于javascript-多线程JavaScript怎么来的?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2145829